// 8月26日 新需求更改的
import {formatDate} from '../../util/date'
import router from '../../router'

const state = {
  // 公共时间组件的 绑定的值
  activeDate: formatDate(new Date(), 'yyyy'),
  // 公共图表的 控制
  // currentTab: 'chart',
  // 公共激活 是 今日， 本月，还是 今年
  activeDateBtn: '今年',
  // 路由相关的
  routerArr: [],
  navActive: '',
  // end
  // 空间相关的
  spaceList: [],
  valueList: [],
  workSpaceName: ''
}
// m-header 下拉框公共 选择的异步行为
const actions = {
  // currentChangeTab ({ commit }, currentTab) {
  //   commit('currentChangeTab', currentTab)
  // },
  activeChangeDate ({commit}, activeDate) {
    commit('activeChangeDate', activeDate)
  },
  activeChangeDateBtn ({commit}, activeDateBtn) {
    commit('activeChangeDateBtn', activeDateBtn)
  },
  // nav 路由
  navAction ({commit}, val) {
    commit('navMutations', val)
  },
  // nav 路由 数组
  routerArrAction ({commit}, val) {
    commit('routerArrMutations', val)
  },
  // 异步空间的请求
  spaceAction ({commit, state}, data) {
    window.myapi.postSpace(data).then(res => {
      if (res.data.status === 200) {
        // 空间数组
        state.spaceList = res.data.data
        // 初始化 空间 和 左侧 nav 导航的值
        commit('valueListMutations', [state.spaceList[0].value])
        state.workSpaceName = state.spaceList[0].label
        // end
        if (state.spaceList.length === 0) {
          this.$Message.info('空间架构无数据，请补充数据')
          return false
        } else {
          window.myapi.postNav({spaces: state.workSpaceName}).then(res => {
            if (res.data.status === 200) {
              // 左侧nav 导航数组
              // 9月29日 新需求更改
              let routerData = res.data.data.slice()
              let index = routerData.findIndex(item => item.name === 'energyOverview')
              if (index > -1) {
                routerData.splice(index, 1)
              }
              commit('routerArrMutations', routerData)
              // 左侧nav 导航数组 选中状态
              commit('navMutations', state.routerArr[0].name)
              // router.push({path: '/console'})
              router.push({path: state.routerArr[0].path})
            }
          }).catch(function (e) {
            console.log(e)
          })
        }
      }
    }).catch(function (e) {
      console.log(e)
    })
  },
  // 空间 选项值的 方法
  valueListAction ({commit}, val) {
    commit('valueListMutations', val)
  },
  // 空间 选项值的 方法
  strAction ({commit}, val) {
    commit('strMutations', val)
  }
}
const mutations = {
  // EMS 能耗 的公共图表的 控制
  // currentChangeTab (state, currentTab) {
  //   state.currentTab = currentTab
  // },
  // EMS 能耗 的公共 时间的 控制
  activeChangeDate (state, activeDate) {
    state.activeDate = activeDate
  },
  // EMS 能耗 的公共 今日，本月，今年的控制
  activeChangeDateBtn (state, activeDateBtn) {
    state.activeDateBtn = activeDateBtn
  },
  // nav 路由
  navMutations (state, val) {
    state.navActive = val
  },
  // nav 路由 数组
  routerArrMutations (state, val) {
    state.routerArr = val
  },
  // 空间 值的 改变 方法
  valueListMutations (state, val) {
    state.valueList = val
  },
  // 空间 值的 改变 方法
  strMutations (state, val) {
    state.workSpaceName = val
  }
}
export default {
  namespaced: true,
  state,
  actions,
  mutations
}
